package com.zhang.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhang.pojo.RoleBean;

import java.util.List;

/**
 * 角色业务接口
 */
public interface IRoleService {

    /**
     * 查询所有的角色
     * @return
     */
    List<RoleBean> findAll();

    /**
     * 分页查询
     * @param page 分页对象
     * @return 分页集合
     */
    IPage<RoleBean> findByPage(Page<RoleBean> page);

    /**
     * 添加角色，同时在角色权限中间表添加角色的权限
     * @param role 角色对象
     */
    void add(RoleBean role,int[] powerIds);

    /**
     * 根据角色id删除角色，并且删除角色-权限中的对应角色
     * @param roleId
     */
    void del(int roleId);

    /**
     * 根据角色id查询角色，同时查询拥有的权限
     * @param roleId 角色id
     * @return 角色对象
     */
    RoleBean findById(int roleId);

    /**
     * 根据角色id，修改角色-权限中的权限
     * @param roleId 角色id
     * @param powerIds 权限集合
     */
    void update(int roleId,int[] powerIds);


}
